package com.recruit.server.service;

import com.recruit.server.common.HeaderInfo;
import com.recruit.server.request.user.LogOutRequest;
import com.recruit.server.request.user.LoginRequest;
import com.recruit.server.request.user.RegisterRequest;
import com.recruit.server.response.user.LogOutResponse;
import com.recruit.server.response.user.LoginResponse;
import com.recruit.server.response.user.RegisterResponse;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public interface IUserService {

    LoginResponse login(@Validated @RequestBody LoginRequest request, HttpSession httpSession);

    RegisterResponse register(@Validated @RequestBody RegisterRequest request, HeaderInfo headerInfo);

    LogOutResponse logOut(HttpServletRequest servletRequest, HttpSession session);
}
